package sh.base.aop;

import lombok.Data;

/**
 * 被代理对象的包装，根据输入的条件自动判断是使用cglib还是使用jdk的动态代理
 * 如：如有接口，就使用jdk的代理，否则使用cglib的
 *
 * @author lqq
 * @date 2019/2/23
 */
@Data
public class TargetSource {

    /** 源对象 */
    private Object target;

    /** 代理的类 */
    private Class<?> clazz;

    /** 代理的接口 */
    private Class<?>[] interfaces;

    public TargetSource(Object target, Class<?> clazz, Class<?>[] interfaces){
        this.target = target ;
        this.clazz = clazz;
        this.interfaces = interfaces;
    }


}
